繁体   English   中英

如何在 nativescript 中获取文本字段值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM