[英]How do i get textfield value in nativescript
我正在尝试从 nativescript 核心中的文本字段中获取文本。
let textField = args.object;
const yourSearch = textField.getViewById("requiredSkill").text;
我得到的错误是:无法读取未定义的属性“文本”
请帮忙
NativeScript 查看 XML TextView
<TextView editable="true" id="requiredSkill"></TextView>
一个带有tap
事件的简单按钮
<Button text="Button" tap="{{ onButtonTap }}" />
该点击事件背后的 JavaScript 代码
var viewModel = observableModule.fromObject({
onButtonTap: function (btargs) {
let srcButton = btargs.object;
const yourSearch = srcButton.page.getViewById("requiredSkill").text;
}
});
应该在<Page>
getViewById
上使用 getViewById 来搜索整个页面
或者你必须有一个容器/布局应该有一个 id,首先使用getViewById
找到布局,然后在该布局中再次执行另一个getViewById
以找到TextView
所以回答你的问题,如果是按钮点击事件,获取按钮并获取按钮的页面并通过Id查找视图
srcButton.page.getViewById
谢谢@Dickens,我正在为NativeScript 操场添加一个具体示例:
主页.js:
var HomeViewModel = require("./home-view-model");
var homeViewModel = new HomeViewModel();
function pageLoaded(args) {
var page = args.object;
page.bindingContext = homeViewModel;
}
exports.pageLoaded = pageLoaded;
主页.xml:
<Page loaded="pageLoaded" xmlns="http://www.nativescript.org/tns.xsd">
<ActionBar title="Home">
</ActionBar>
<ScrollView>
<StackLayout orientation="vertical" width="210" height="210"
backgroundColor="lightgray">
<TextField id="uspas" hint="Enter text..." text="aaa,bbb"/>
<Button text="Login" tap="{{ login }}" />
</StackLayout>
</ScrollView>
</Page>
主页-view-model.js:
var observableModule = require("tns-core-modules/data/observable");
function HomeViewModel() {
var viewModel = observableModule.fromObject({
login: function (buttonArguments) {
let srcButton = buttonArguments.object;
const testo = srcButton.page.getViewById("uspas").text;
var uspasCouple = testo.split(",");
us = uspasCouple[0];
pas = uspasCouple[1];
console.log("Hai scritto:", us, pas);
},
});
return viewModel;
}
module.exports = HomeViewModel;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.