Topic: How can I pass Id and or Name attributes to the Form and related components?
garyld1962
pro asked 6 years ago
How can I pass Id, Name attributes to the Form and related components?
I have a Gatsby App and these attributes are needed to take advantage of the Netify environment.
In any event shouldn't you pass any extra attributes by default?
Gary
Anna Morawska
staff answered 6 years ago
Hi there,
I don't know the whole story ( please be more specific and provide us with more details what you want to achieve) but in general, you can use MDBinputs as a regular input, you can add to it an id and name attributes.
For example:
<MDBInput label="Your name" icon="user" type="text" name="name1" id="123" data-additional="something"/>
If you check using your browser devTools what is rendered - you will see that even a custom data attribute is added to the input.
Best, Ania
Rys commented 2 years ago
in id instead of hard coded value can we pass soft coded value such as index then how can we get the id value
garyld1962
pro answered 6 years ago
Sorry, my edit with code did not save. I am using the Select control like below. This is what I need - although I don't know where the onChange event for the select would go.
<Select>
<SelectInput selected='Choose...' onChange={onChange} id={id} name={id} />
<SelectOptions>
<SelectOption disabled>Choose...</SelectOption>
<SelectOption value='1'>Yes</SelectOption>
<SelectOption value='2'>No</SelectOption>
<SelectOption value='3'>Sometimes</SelectOption>
</SelectOptions>
</Select>
Anna Morawska staff commented 6 years ago
please use getValue prop instead of onChange. You can check out all avaliable props in the API Tab on the documentation page.
garyld1962 pro commented 6 years ago
Can you please tell me how to pass a "name" and "id" attribute to the pro "Select" component?
Anna Morawska
staff answered 6 years ago
Ok, now I see the problem. Unfortunately, you, as a user can't add attributes to the MDBSelectInput component. But you can easily bypass it, by adding additional input of type "hidden". Try something like this:
import React, { Component } from "react";
import { MDBSelect, MDBSelectInput, MDBSelectOptions, MDBSelectOption} from "mdbreact";
class SelectPage extends Component {
state = {
inputValue: ""
}
onChangeHandler = value => {
this.setState({inputValue: value})
}
render() {
return (
<div>
<input name="hello" id="inputId" type="hidden" value={this.state.value} />
<MDBSelect getValue={this.onChangeHandler}>
<MDBSelectInput selected="Choose your option" />
<MDBSelectOptions>
<MDBSelectOption disabled>Choose your option</MDBSelectOption>
<MDBSelectOption value="1">Option nr 1</MDBSelectOption>
<MDBSelectOption value="2">Option nr 2</MDBSelectOption>
<MDBSelectOption value="3">Option nr 3</MDBSelectOption>
</MDBSelectOptions>
</MDBSelect>
<label>Material Select</label>
</div>
);
}
}
export default SelectPage;
Let me know if this resolves your problem.Best,Ania
FREE CONSULTATION
Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.
Answered
- User: Pro
- Premium support: No
- Technology: MDB React
- MDB Version: 4.8.4
- Device: ALL
- Browser: ALL
- OS: ALL
- Provided sample code: No
- Provided link: No