2017-12-31 44 views
0

Ich habe eine einfache 'Redux-Form' mit einer Select Komponente von neueste Material-Ui-nächste.Unerwartetes Verhalten mit Material ui Wählen und 'Redux-Form'

import { TextField } from 'material-ui';

<Field 
    name="name" 
    component={TextField} 
    select 
> 
    <MenuItem value={1}>Lily</MenuItem> 
    <MenuItem value={2}>Mark</MenuItem> 
</Field> 

feine Arbeiten. Hovewer, wenn ich die value Stütze von typeof number zu string, z.B.

<Field 
    name="name" 
    component={TextField} 
    select 
> 
    <MenuItem value="lily">Lily</MenuItem> 
    <MenuItem value="mark">Mark</MenuItem> 
</Field> 

ändert sich der Wert richtig, aber nur nach einer Sekunde, der Wert wird 0 (wie es ursprünglich war) und der gewählte Wert verschwindet (es ab sofort leer ist). Es hatte einen korrekten Wert für einen Moment, aber irgendwie wird es automatisch auf 0 zurückgesetzt.

Auch bei Rendering das Feld versucht:

const renderSelectField = ({ input, label, meta: { touched, error }, children, ...custom }) => (
    <TextField 
    {...input} 
    select 
    onChange={(event, index, value) => input.onChange(event.target.value)} 
    children={children} 
    {...custom} 
    /> 
) 

Dennoch ist es den Wert ändert, und nur nach, dass es zu 0 zurückgibt. Wenn ich die Form Werte console.log, zeigt sich, (nach den Wert manuell zu ändern):

{ name: "Lily" } 
{ name: 0 } 
{ name: 0 } 

(es im Zeitraum von einer Sekunde geschieht)

Wir freuen uns für jede Hilfe. Vielen Dank.

Edit: Dies geschieht in redux dev tools, wenn Sie einen Artikel mit string Wert wählen - in diesem Fall pln.

enter image description here

+1

Können Sie die Liste der Aktionen einschließen, die zwischen den beiden Ereignissen ausgelöst wurden? Sie können dafür https://github.com/gaearon/redux-devtools verwenden. – squgeim

+0

@squgeim Ich habe ein Bild hinzugefügt – Patrickkx

+0

Dies ist die Zustandsänderung. Könnten Sie die Aktionen einschließen (die Liste auf der linken Seite). – squgeim

Antwort

Verwandte Themen