Access item inside ListView via delegate
- 
I was able to access the TextEditvalue usingpropertyvalue which is set to model viaListElementsomething like thisListElement { editProperty: "Initial text" }and on click event onClicked: { listModel.setProperty(index, "editProperty", editField.text) }Still I am unable to access the delete Button. Does anyone know to access it?
- 
I was able to access the TextEditvalue usingpropertyvalue which is set to model viaListElementsomething like thisListElement { editProperty: "Initial text" }and on click event onClicked: { listModel.setProperty(index, "editProperty", editField.text) }Still I am unable to access the delete Button. Does anyone know to access it?hi @Ratzz you already "listen" to the listModel count property for your onClicked why don't you make the visible property depending on it as well ? Column { width: 100 Button { text: "Delete" visible: listModel.count > 1 onClicked:{ if(listModel.count > 1) listModel.remove(index); } } }
- 
hi @Ratzz you already "listen" to the listModel count property for your onClicked why don't you make the visible property depending on it as well ? Column { width: 100 Button { text: "Delete" visible: listModel.count > 1 onClicked:{ if(listModel.count > 1) listModel.remove(index); } } }@J-Hilk said in Access item inside ListView via delegate: you already "listen" to the listModel count property for your onClicked why don't you make the visible property depending on it as well ? It just worked :) Thank you @J-Hilk 
- 
I was able to access the TextEditvalue usingpropertyvalue which is set to model viaListElementsomething like thisListElement { editProperty: "Initial text" }and on click event onClicked: { listModel.setProperty(index, "editProperty", editField.text) }Still I am unable to access the delete Button. Does anyone know to access it?
- 
@Ratzz said in Access item inside ListView via delegate: I was able to access the TextEdit value using property value which is set to model via ListElement something like this @J-Hilk , Is there any better way than this ? 
- 
@Ratzz 
 for example, you could just bind the text directly:Column { width: 50 TextEdit { text: editableText} } ... ... ListModel { id: listModel ListElement { editableText: "SomeText" } }@J-Hilk 
 Now when I tried with empty textListModel { id: listModel ListElement { editableText: "" } }and then I tried to change the text field value manually say "sometext" . Button event returned null onClicked: { listModel.get(0).editableText console.log(listModel.get(0).editableText ) //Null }while button event setting property gave proper result onClicked: { listModel.setProperty(index, "editableText ", id.text) console.log(listModel.get(0).editableText ) //"sometext" }
- 
@J-Hilk 
 Now when I tried with empty textListModel { id: listModel ListElement { editableText: "" } }and then I tried to change the text field value manually say "sometext" . Button event returned null onClicked: { listModel.get(0).editableText console.log(listModel.get(0).editableText ) //Null }while button event setting property gave proper result onClicked: { listModel.setProperty(index, "editableText ", id.text) console.log(listModel.get(0).editableText ) //"sometext" }
- 
@Ratzz interesting I usually have c++ based models, so my experience with QML models is limited 😕 Maybe someone else know more about this behavior 
- 
@J-Hilk 
 Now when I tried with empty textListModel { id: listModel ListElement { editableText: "" } }and then I tried to change the text field value manually say "sometext" . Button event returned null onClicked: { listModel.get(0).editableText console.log(listModel.get(0).editableText ) //Null }while button event setting property gave proper result onClicked: { listModel.setProperty(index, "editableText ", id.text) console.log(listModel.get(0).editableText ) //"sometext" }@Ratzz said in Access item inside ListView via delegate: listModel.get(0).editableText What is that line supposed to do? You are not modifying anything here onClicked: { listModel.setProperty(index, "editableText ", textEdit.text) }just do that instead: onClicked: editableText = textEdit.text
- 
@GrecKo , Yes I can do that as well. How can I get the updated text "editableText" as soon I change the value of TextEditis changed?
 

